home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / rpc161a1.arc / RPC-SUB3.BAS < prev    next >
BASIC Source File  |  1988-04-13  |  22KB  |  367 lines

  1. ******************************************************************************
  2. ************************   RBBS-PC Protocol Controller   *** RPC-SUB3.BAS ****
  3. ************************      Merge for RBBS-PC.BAS      *********************
  4. ************************         By John Morris          ******* 16-1A *******
  5. ******************************************************************************
  6. 62530 SUB GETMATTR STATIC
  7.       Q = SQ
  8.       B$ = LG$(10)
  9.       LINES.IN.MESSAGE = LINES.IN.MESSAGE.SAVE
  10.       S = SL
  11.       NON.STOP = NON.STOP.SAVE
  12.       MESSAGE.DIM.INDEX = MESSAGE.DIM.INDEX.SAVE
  13.       KILL.MESSAGE = FALSE
  14.       END SUB
  15. ' $SUBTITLE: 'PROTOCOL - check for external protocols'
  16. ' $PAGE
  17. '
  18. '  SUBROUTINE NAME    -- PROTOCOL
  19. '
  20. '                            PARAMETER                    MEANING
  21. '
  22. '   INPUT PARAMETERS  -- NONE
  23. '
  24. '   OUTPUT PARAMETERS -- TRANSFER.OPTIONS$         FILE TRANSFER PROTOCOLS
  25. '                                                  THAT ARE ALLOWED.
  26. '                        DFLTXFER$                 THE STRING FROM WHICH
  27. '                                                  PROTOCOLS ARE SELECTED
  28. '                                                  (USING 'INSTR')
  29. '                        SELECT.CHAR$()            PROT.STRNG$ IS BUILT FROM
  30. '                                                  THESE CHARACTERS
  31. '                        PROT.NAME$()              PROTOCOL NAME FOR EACH
  32. '                                                  PROTOCOL
  33. '                        UPLOAD.BAT.FILE.NAME$()   BATCH FILE USED TO UPLOAD
  34. '                                                  FOR EACH PROTOCOL
  35. '                        DOWNLOAD.BAT.FILE.NAME$() BATCH FILE USED TO DOWNLOAD
  36. '                                                  FOR EACH PROTOCOL
  37. '                        RUN.METHOD$()             DETERMINES WHETHER TO USE
  38. '                                                  THE SHELL OR EXIT-RBBS
  39. '                                                  METHOD FOR EACH PROTOCOL
  40. '                        SUCCESS.CHECK.METHOD$()   WAY TO CHECK EACH TRANSFER
  41. '                                                  FOR SUCCESS
  42. '                        MODE$()                   DIFFERENT OPTIONS OR CONTROLS
  43. '                                                  NEEDED FOR EACH PROTOCOL
  44. '                                                  =1  RELIABLE.MODE NEEDED
  45. '                                                  =2  DON'T PRINT # OF BLOCKS
  46. '                                                  =3  BATCH TRANSFER ALLOWED
  47. '                                                  =4  MODE 2 + ALLOW
  48. '                                                      BATCH TRANSFER
  49. '                                                  =5  MODE 2 + WRITE FAKE
  50. '                                                      XFER REPORT
  51. '                                                  =6  (NOT USED)
  52. '                                                  =7  (NOT USED)
  53. '                                                  =8  1k BLOCKS
  54. '                                                  =9  MODE 1 + 1k BLOCKS
  55. '
  56. '  SUBROUTINE PURPOSE -- TO DETERMINE WHICH EXTERNAL PROTOCOL'S ARE AVAILABLE
  57. '                        AND BUILD TRANSFER.OPTION$ AND SEVERAL ARRAYS
  58. '                        ACCORDINGLY
  59. '
  60. * ------[ first line different ]------
  61.       SUB PROTOCOL STATIC                                            ' RPC16-1A
  62.       CLOSE 2                                                        ' RPC16-1A
  63.       CALL OPENWORK("RBBSXFR" + NODE.ID$ + ".DEF")                   ' RPC16-1A         ' RPC16-1A
  64.       PROTNUM = 2                                                    ' RPC16-1A
  65.       DFLTXFER$ = "A"                                                ' RPC16-1A
  66.       PROT.NAME$(1) = "Ascii"                                        ' RPC16-1A
  67.       TRANSFER.OPTIONS$ = "A) Ascii, "                               ' RPC16-1A
  68.       IF NOT USE.EXTERNAL.XMODEM THEN _                              ' RPC16-1A
  69.          PROT.NAME$(2) = "Xmodem" : _                                ' RPC16-1A
  70.          PROT.NAME$(3) = "Xmodem/CRC" : _                            ' RPC16-1A
  71.          TRANSFER.OPTIONS$ = TRANSFER.OPTIONS$ + _                   ' RPC16-1A
  72.                              "X) Xmodem, " + _                       ' RPC16-1A
  73.                              "C) Xmodem/CRC, " : _                   ' RPC16-1A
  74.          DFLTXFER$ = DFLTXFER$ + "XC" : _                            ' RPC16-1A
  75.          PROTNUM = 4                                                 ' RPC16-1A
  76.       IF NOT USE.EXTERNAL.YMODEM THEN _                              ' RPC16-1A
  77.          PROT.NAME$(4) = "Ymodem" : _                                ' RPC16-1A
  78.          TRANSFER.OPTIONS$ = TRANSFER.OPTIONS$ + _                   ' RPC16-1A
  79.                             "Y) Ymodem, " : _                        ' RPC16-1A
  80.          DFLTXFER$ = DFLTXFER$ + "Y" : _                             ' RPC16-1A
  81.          PROTNUM = 5                                                 ' RPC16-1A
  82.       WHILE NOT EOF(2)                                               ' RPC16-1A
  83.           INPUT #2, SELECT.CHAR$(PROTNUM), _                         ' RPC16-1A
  84.                     PROT.NAME$(PROTNUM), _                           ' RPC16-1A
  85.                     UPLOAD.BAT.FILE.NAME$(PROTNUM), _                ' RPC16-1A
  86.                     DOWNLOAD.BAT.FILE.NAME$(PROTNUM), _              ' RPC16-1A
  87.                     RUN.METHOD$(PROTNUM), _                          ' RPC16-1A
  88.                     SUCCESS.CHECK.METHOD$(PROTNUM), _                ' RPC16-1A
  89.                     MODE$(PROTNUM)                                   ' RPC16-1A
  90.           IF INSTR("19",MODE$(PROTNUM)) AND NOT RELIABLE.MODE THEN GOTO 62610
  91.           IF (PROTNUM MOD 6) = 0 THEN _                              ' RPC16-1A
  92.              TRANSFER.OPTIONS$ = TRANSFER.OPTIONS$ + RETURN.LINE.FEED$
  93.           TRANSFER.OPTIONS$ = TRANSFER.OPTIONS$ + SELECT.CHAR$(PROTNUM) + _
  94.                               ") " + PROT.NAME$(PROTNUM) + ", "      ' RPC16-1A
  95.           DFLTXFER$ = DFLTXFER$ + SELECT.CHAR$(PROTNUM)              ' RPC16-1A
  96.           IF INSTR(UPLOAD.BAT.FILE.NAME$(PROTNUM),".") = 0 THEN _    ' RPC16-1A
  97.              UPLOAD.BAT.FILE.NAME$(PROTNUM) = UPLOAD.BAT.FILE.NAME$(PROTNUM) + _
  98.                                               ".BAT"                 ' RPC16-1A
  99.           IF INSTR(DOWNLOAD.BAT.FILE.NAME$(PROTNUM),".") = 0 THEN _  ' RPC16-1A
  100.              DOWNLOAD.BAT.FILE.NAME$(PROTNUM) = DOWNLOAD.BAT.FILE.NAME$(PROTNUM) + _
  101.                                                 ".BAT"               ' RPC16-1A
  102.           PROTNUM = PROTNUM + 1                                      ' RPC16-1A
  103. * DELETING old line(s)
  104. 62600
  105. * INSERTING new line(s)
  106. 62610 WEND                                                           ' RPC16-1A
  107.       CLOSE 2                                                        ' RPC16-1A
  108.       LAST.PROT.NUM = PROTNUM                                        ' RPC16-1A
  109.       END SUB                                                        ' RPC16-1A
  110. ' $SUBTITLE: 'TRANSFER - subroutine for KERMIT, YMODEM, IMODEM & YMODEM'
  111. ' $PAGE
  112. '
  113. '  SUBROUTINE NAME    -- TRANSFER
  114. '
  115. '  INPUT PARAMETERS   --     PARAMETER                    MEANING
  116. '                        TRANSFER.FUNCTION         = 1 DOWNLOAD FILE TO USER
  117. '                                                  = 2 UPLOAD FILE TO RBBS-PC
  118. '                        FILE.NAME$                NAME OF FILE FOR TRANSFER
  119. '                        COM.PORT$                 NAME OF COMMUNICATIONS PORT
  120. '                                                  TO BE USED BY KERMIT (COM1
  121. '                                                  OR COM2)
  122. '                        BPS                       = -1 FOR   300 BAUD
  123. '                                                  = -2 FOR   450 BAUD
  124. '                                                  = -3 FOR  1200 BAUD
  125. '                                                  = -4 FOR  2400 BAUD
  126. '                                                  = -5 FOR  4800 BAUD
  127. '                                                  = -6 FOR  9600 BAUD
  128. '                                                  = -7 FOR 19200 BAUD
  129. '                        PCKERMIT.EXE.FILE$        FILE TO TRANSFER CONTROL TO
  130. '                                                  FOR KERMIT PROTOCOL ON
  131. '                                                  PROTOCOL.PATH$.
  132. '                        QMXFER.COM.FILE$          FILE TO TRANSFER CONTROL TO
  133. '                                                  FOR YMODEM, IMODEM OR
  134. '                                                  YMODEMG PROTOCOLS.
  135. '                        WXMODEM.COM.FILE$         FILE TO TRANSFER CONTROL TO
  136. '                                                  FOR WXMODEM PROTOCOL ON
  137. '                                                  PROTOCOL.PATH$
  138. '
  139. '  OUTPUT PARAMETERS  -- NONE
  140. '
  141. '  SUBROUTINE PURPOSE -- TO TRANSFER FILES USING KERMIT, YMODEM, IMODEM,
  142. '                        YMODEMG OR WXMODEM PROTOCOL'S
  143. '
  144. * REPLACING old line(s) by new
  145. 62620 SUB TRANSFER STATIC
  146. * ------[ first line different ]------
  147.       IF NOT PRIVATE.DOOR THEN _                                     ' RPC16-1A
  148.          IF TRANSFER.FUNCTION = 1 THEN _                             ' RPC16-1A
  149.             XFER.FILE$ = DOWNLOAD.BAT.FILE.NAME$(FF) : _             ' RPC16-1A
  150.             B$ = " send of " _                                       ' RPC16-1A
  151.           ELSE XFER.FILE$ = UPLOAD.BAT.FILE.NAME$(FF) : _            ' RPC16-1A
  152.             B$ = " receive of "                                      ' RPC16-1A
  153.          CALL QTPUT (PROT.NAME$(FF) + B$ + FILE.NAME.HOLD$ + " ready!   <Ctrl X> Aborts",1)
  154.       CALL XFRETURN                                                  ' RPC16-1A
  155.       END SUB                                                        ' RPC16-1A
  156. ' $SUBTITLE: 'XFRETURN - subroutine to exit as a private door.'
  157. ' $PAGE
  158. '
  159. '  SUBROUTINE NAME    -- XFRETURN
  160. '
  161. '  INPUT PARAMETERS   --     PARAMETER                    MEANING
  162. '                        TRANSFER.FUNCTION         = 1 DOWNLOAD FILE TO USER
  163. '                                                  = 2 UPLOAD FILE TO RBBS-PC
  164. '                                                  = 3 USER REGISTRATION PGM
  165. '                        B$                        NAME OF FILE TO EXIT TO
  166. '                        COM.PORT$                 NAME OF COMMUNICATIONS PORT
  167. '                                                  TO BE USED BY KERMIT (COM1
  168. '                                                  OR COM2)
  169. '                        BPS                       = -1 FOR   300 BAUD
  170. '                                                  = -2 FOR   450 BAUD
  171. '                                                  = -3 FOR  1200 BAUD
  172. '                                                  = -4 FOR  2400 BAUD
  173. '                                                  = -5 FOR  4800 BAUD
  174. '                                                  = -6 FOR  9600 BAUD
  175. '                                                  = -7 FOR 19200 BAUD
  176. '                        QMXFER.COM.FILE$          FILE TO TRANSFER CONTROL TO
  177. '                                                  FOR YMODEM, IMODEM OR
  178. '                                                  YMODEMG PROTOCOLS.
  179. '
  180. '  OUTPUT PARAMETERS  -- NONE
  181. '
  182. '  SUBROUTINE PURPOSE -- TO TRANSFER CONTROL TO ANOTHER PROGRAM
  183. '
  184.       SUB XFRETURN STATIC
  185.       EXEC.METHOD$ = RUN.METHOD$(FF)                                 ' RPC16-1A
  186.       IF PRIVATE.DOOR THEN _                                         ' RPC16-1A
  187.          EXEC.METHOD$ = "N"                                          ' RPC16-1A
  188.       IF NOT PRIVATE.DOOR THEN _                                     ' RPC16-1A
  189.          FAKERPTTYPE$ = MID$(DFLTXFER$,FF,1) : _                     ' RPC16-1A
  190.          IF MODE$(FF) = "5" THEN _                                   ' RPC16-1A
  191.             CALL FAKEXRPT(FAKERPTTYPE$)                              ' RPC16-1A
  192.       IF EXEC.METHOD$ = "D" THEN _                                   ' RPC16-1A
  193.         CALL MODXFERSTRING(XFER.FILE$,SHELL.STRING$) : _             ' RPC16-1A
  194.         CLOSE 3 : _                                                  ' RPC16-1A
  195.         OUT MODEM.CONTROL.REGISTER,INP(MODEM.CONTROL.REGISTER) OR 1 : _ ' RPC16-1A
  196.         CALL DELAYIT(2) : _                                          ' RPC16-1A
  197.         DEF SEG = 0 : _                                              ' RPC16-1A
  198.         FOR X = 0 TO 7 : _                                           ' RPC16-1A
  199.            COM.PORT.ADDRESS(X) = PEEK(&H400 + X) : _                 ' RPC16-1A
  200.         NEXT : _                                                     ' RPC16-1A
  201.         DEF SEG : _                                                  ' RPC16-1A
  202.         SHELL SHELL.STRING$ : _                                         ' RPC16-1A
  203.         CALL DELAYIT(2) : _                                          ' RPC16-1A
  204.         DEF SEG = 0 : _                                              ' RPC16-1A
  205.         FOR X = 0 TO 7 : _                                           ' RPC16-1A
  206.            POKE (&H400 + X), COM.PORT.ADDRESS(X) : _                 ' RPC16-1A
  207.         NEXT : _                                                     ' RPC16-1A
  208.         DEF SEG                                                      ' RPC16-1A
  209.       IF EXEC.METHOD$ = "E" THEN _                                   ' RPC16-1A
  210.         A$(1) = "COMMAND /C " + _                                    ' RPC16-1A
  211.                 XFER.FILE$ + " " + _                                 ' RPC16-1A
  212.                 TALK.TO.MODEM.AT$ + " " + _                          ' RPC16-1A
  213.                 RIGHT$(COM.PORT$,1) + " " + _                        ' RPC16-1A
  214.                 FILE.NAME$ + " " + _                                 ' RPC16-1A
  215.                 MID$(BAUD.PARITY$,INSTR(BAUD.PARITY$,",") + 1,1) : _ ' RPC16-1A
  216.         A$(2) = RBBS.BAT$ : _                                        ' RPC16-1A
  217.         PRIVATE.DOOR = -1 : _                                        ' RPC16-1A
  218.         CALL QTPUT ("Exiting to External Program. BEGIN TRANSFER and Please be patient.",1) : _
  219.         LOCATE 25,1 : _                                              ' RPC16-1A
  220.         CALL LPRNT(CHR$(10),0) : _                                   ' RPC16-1A
  221.         CALL MEMORY(FF) : _                                          ' RPC16-1A
  222.         CALL RBBSEXIT(A$(),2)                                        ' RPC16-1A
  223.       CALL LINE25                                                    ' RPC16-1A
  224.       PARITY$ = MID$(",N,8,1,E,7,1",7 + 6 * EIGHT.BIT,6)             ' RPC16-1A
  225.       IF NOT LOCAL.USER THEN _                                       ' RPC16-1A
  226.          CALL OPENCOM(TALK.TO.MODEM.AT$,PARITY$) : _                 ' RPC16-1A
  227.          IF PRIVATE.DOOR THEN _                                      ' RPC16-1A
  228.             FOR X = 1 TO 20 : _                                      ' RPC16-1A
  229.               PRINT : _                                              ' RPC16-1A
  230.             NEXT X : _                                               ' RPC16-1A
  231.             CALL QTPUT ("Reloading RBBS-PC. Please be patient.",1) : _'RPC16-1A
  232.             CALL DELAYIT(2) : _                                      ' RPC16-1A
  233.             CALL REMEMBER(FF)                                        ' RPC16-1A
  234.       CALL SKIPLINE(2)                                               ' RPC16-1A
  235.       LOCATE 24,1                                                    ' RPC16-1A
  236.       IF TRANSFER.FUNCTION = 2 THEN : _                              ' RPC16-1A
  237.          CLS : _                                                     ' RPC16-1A
  238.          CALL LINE25                                                 ' RPC16-1A
  239. * DELETING old line(s)
  240. 62622
  241. 62624
  242. 62626
  243. 62628
  244. 62629
  245. 62630
  246. 62631
  247. * REPLACING old line(s) by new
  248. 62632 END SUB
  249. * ------[ first line different ]------
  250. ' $SUBITLE: 'MODXFERSTRING - Modify string in .BAT file'
  251. ' $PAGE
  252. '
  253. '  SUBROUTINE NAME    -- MODXFERSTRING
  254. '
  255. '                            PARAMETER                    MEANING
  256. '
  257. '   INPUT PARAMETERS  -- XFERBATFILE$              .BAT FILE TO GET INFO
  258. '                                                  FROM
  259. '   OUTPUT PARAMETERS -- SHELL.STRING$             STRING TO USE FOR SHELL
  260. '                                                  METHOD
  261. '
  262. '  SUBROUTINE PURPOSE -- TO OPEN A BATCH AND RETRIEVE THE STRING TO USE FOR
  263. '                        THE SHELL METHOD OF TRANSFER FROM WITHIN RBBS-PC.
  264. '                        THIS IS THE SAME BATCH FILE USED WHEN USING THE
  265. '                        EXIT RBBS-PC METHOD OF TRANSFER
  266. '
  267. * INSERTING new line(s)
  268. 62640 SUB MODXFERSTRING(XFERBATFILE$,SHELL.STRING$) STATIC           ' RPC16-1A
  269.       CLOSE 2                                                        ' RPC16-1A
  270.       OPEN XFERBATFILE$ FOR INPUT AS #2                              ' RPC16-1A
  271.       LINE INPUT #2, DUMMY$                                          ' RPC16-1A
  272.       LINE INPUT #2, STRING.TO.CHANGE$                               ' RPC16-1A
  273.       CLOSE 2                                                        ' RPC16-1A
  274.       BAUD.STRING$ = TALK.TO.MODEM.AT$                               ' RPC16-1A
  275.       MODEM.PORT$ =  RIGHT$(COM.PORT$,1)                             ' RPC16-1A
  276.       PARITY$ = MID$("NE",2 + 1 * EIGHT.BIT,1)                       ' RPC16-1A
  277.       BAUD.IN.STRING = INSTR(STRING.TO.CHANGE$,"%1")                 ' RPC16-1A
  278.       STRING1$ = MID$(STRING.TO.CHANGE$,1,BAUD.IN.STRING-1)          ' RPC16-1A
  279.       STRING2$ = MID$(STRING.TO.CHANGE$,BAUD.IN.STRING + 2)          ' RPC16-1A
  280.       STRING.TO.CHANGE$ = STRING1$ + BAUD.STRING$ + STRING2$         ' RPC16-1A
  281.       PORT.IN.STRING = INSTR(STRING.TO.CHANGE$,"%2")                 ' RPC16-1A
  282.       STRING1$ = MID$(STRING.TO.CHANGE$,1,PORT.IN.STRING-1)          ' RPC16-1A
  283.       STRING2$ = MID$(STRING.TO.CHANGE$,PORT.IN.STRING + 2)          ' RPC16-1A
  284.       STRING.TO.CHANGE$ = STRING1$ + MODEM.PORT$ + STRING2$          ' RPC16-1A
  285.       FILE.IN.STRING = INSTR(STRING.TO.CHANGE$,"%3")                 ' RPC16-1A
  286.       STRING1$ = MID$(STRING.TO.CHANGE$,1,FILE.IN.STRING-1)          ' RPC16-1A
  287.       STRING2$ = MID$(STRING.TO.CHANGE$,FILE.IN.STRING + 2)          ' RPC16-1A
  288.       STRING.TO.CHANGE$ = STRING1$ + FILE.NAME$ + STRING2$           ' RPC16-1A
  289.       PRTY.IN.STRING = INSTR(STRING.TO.CHANGE$,"%4")                 ' RPC16-1A
  290.       IF PRTY.IN.STRING > 0 THEN _                                   ' RPC16-1A
  291.          STRING1$ = MID$(STRING.TO.CHANGE$,1,PRTY.IN.STRING-1) : _   ' RPC16-1A
  292.          STRING2$ = MID$(STRING.TO.CHANGE$,PRTY.IN.STRING + 2) : _   ' RPC16-1A
  293.          STRING.TO.CHANGE$ = STRING1$ + PARITY$ + STRING2$           ' RPC16-1A
  294.       NODE.IN.STRING = INSTR(STRING.TO.CHANGE$,"%5")                 ' RPC16-1A
  295.       IF NODE.IN.STRING > 0 THEN _                                   ' RPC16-1A
  296.          STRING1$ = MID$(STRING.TO.CHANGE$,1,NODE.IN.STRING-1) : _   ' RPC16-1A
  297.          STRING2$ = MID$(STRING.TO.CHANGE$,NODE.IN.STRING + 2) : _   ' RPC16-1A
  298.          STRING.TO.CHANGE$ = STRING1$ + NODE.ID$ + STRING2$          ' RPC16-1A
  299.       SHELL.STRING$ = STRING.TO.CHANGE$                              ' RPC16-1A
  300.       END SUB                                                        ' RPC16-1A
  301. ' $SUBTITLE: 'MEMORY - "Memorize" FF before exiting RBBS-PC'
  302. ' $PAGE
  303. '
  304. '  SUBROUTINE NAME    -- MEMORY
  305. '
  306. '                            PARAMETER                    MEANING
  307. '
  308. '   INPUT PARAMETERS  -- FF                        NUMBER OF PROTOCOL USED
  309. '                                                  FOR THIS TRANSFER
  310. '   OUTPUT PARAMETERS -- NONE
  311. '
  312. '
  313. '  SUBROUTINE PURPOSE -- WRITE "FF" TO A FILE SO IT CAN BE RETRIEVED AFTER
  314. '                        USING THE EXIT RBBS-PC METHOD OF XFER  THIS IS NEEDED
  315. '                        FOR ANY NON-QMXFER TYPE OF PROTOCOL DRIVER
  316. '
  317.       SUB MEMORY(FF) STATIC                                          ' RPC16-1A
  318.       CLOSE 2                                                        ' RPC16-1A
  319.       OPEN "XFER-" + NODE.ID$ + ".TMP" FOR OUTPUT AS #2              ' RPC16-1A
  320.       PRINT #2, FF                                                   ' RPC16-1A
  321.       PRINT #2, FILE.NAME$                                           ' RPC16-1A
  322.       PRINT #2, FILE.NAME.HOLD$                                      ' RPC16-1A
  323.       CLOSE 2                                                        ' RPC16-1A
  324.       END SUB                                                        ' RPC16-1A
  325. ' $SUBTITLE: 'REMEMBER - Retrive FF after re-entering RBBS-PC'
  326. ' $PAGE
  327. '
  328. '  SUBROUTINE NAME    -- REMEMBER
  329. '
  330. '                            PARAMETER                    MEANING
  331. '
  332. '   INPUT PARAMETERS  -- NONE
  333. '
  334. '   OUTPUT PARAMETERS -- FF                        NUMBER OF PROTOCOL USED
  335. '                                                  FOR THE LAST TRANSFER
  336. '
  337. '  SUBROUTINE PURPOSE -- RETRIVE "FF" FROM A FILE SO IT CAN BE USED AFTER
  338. '                        RE-ENTERING RBBS-PC. THIS IS NEEDED FOR ANY
  339. '                        NON-QMXFER TYPE OF PROTOCOL DRIVER
  340. '
  341.       SUB REMEMBER(FF) STATIC                                        ' RPC16-1A
  342.       CLOSE 2                                                        ' RPC16-1A
  343.       CALL OPENWORK ("XFER-" + NODE.ID$ + ".TMP")                    ' RPC16-1A
  344.       INPUT #2, FF                                                   ' RPC16-1A
  345.       INPUT #2, FILE.NAME$                                           ' RPC16-1A
  346.       INPUT #2, FILE.NAME.HOLD$                                      ' RPC16-1A
  347.       CLOSE 2                                                        ' RPC16-1A
  348.       END SUB                                                        ' RPC16-1A
  349. ' $SUBTITLE: 'FAKEXRPT - subroutine to create fake xfer report'
  350. ' $PAGE
  351. '
  352. '  SUBROUTINE NAME    --  FAKEXRPT
  353. '
  354. '  INPUT PARAMETERS   --  PARAMETER                   MEANING
  355. '                         FILE.NAME.HOLD$      FILE TO BE TRANSFERRED
  356. '                         PROTO.USED$          PROTOCOL USED
  357. '
  358. '  OUTPUT PARAMETERS  --  WRITES OUT TRANSFER FILE REPORT
  359. '
  360. '  SUBROUTINE PURPOSE --  EXTERNAL PROTOCOL DRIVERS THAT DO NOT WRITE
  361. '                         OUT A STANDARD TRANSFER REPORT MUST HAVE ONE
  362. '                         PROVIDED IN ORDER FOR "DOORING" TO EXTERNAL
  363. '                         PROTOCOLS TO WORK PROPERLY, SINCE THIS FILE
  364. '                         IS READ UPON RETURNING FROM AN EXTERNAL PROTOCOL.
  365. '
  366.  
  367.